<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Генератор случайных чисел</title>
</head>

<body bgcolor="FFFFFF">

<h1><img align="center" height="32" width="32" src="../../../icons/random.gif">
<em>Генератор случайных чисел</em></h1>

<p><table>
<tr><td><strong>Библиотека:</strong></td>
	<td><a href="index.html">Память</a></td></tr>
<tr><td><strong>Введён в:</strong></td>
	<td>2.3.0</td></tr>
<tr><td valign="top"><strong>Внешний вид:</strong></td>
	<td valign="top"><img src="../../../img-libs/random.png"></td></tr>
</table></p>

<h2>Поведение</h2>

<p>Этот компонент перебирает псевдослучайную последовательность чисел, переходя к следующему числу в последовательности каждый раз, когда срабатывает тактовый вход, если компонент включен. С технической точки зрения, алгоритм, используемый для вычисления псевдослучайных последовательностей - это линейный конгруэнтный генератор: начиная с семени <var>r</var><sub><small>0</small></sub>, следующий номер <var>r</var><sub><small>1</small></sub> - это число</p>
<center>
<var>r</var><sub><small>1</small></sub> =
(25,214,903,917 <var>r</var><sub><small>0</small></sub> + 11)
mod 2<sup><small>48</small></sup>
</center>
<p>Следующее значение <var>r</var><sub><small>2</small></sub> вычисляется из <var>r</var><sub><small>1</small></sub>, используя те же вычисления, и так далее. Эта последовательность состоит из 48-битных чисел; значение на выходе компонента - это младшие биты, количество которых выбрано в атрибуте Биты данных, но после отбрасывания младших 12 битов текущего семени.</p>

<p>Кроме тактового входа, компонент имеет вход <var>включение</var>, который заставляет компонент игнорировать тактовый вход, если на входе <var>включение</var>  0; и вход <var>сброс</var>, который асинхронно сбрасывает значение компонента на начальное семя <var>r</var><sub><small>0</small></sub>.</p>

<p>Начальное семя может быть настроено пользователем. Если выбран 0 (по умолчанию), то семя выбирается на основе текущего времени; когда значение сбрасывается с помощью входа <var>сброс</var>, компонент вычисляет новое семя на основе нового текущего времени.</p> 

<h2>Контакты</h2>

<dl>

<dt>Восточный край, отмечен <var>Q</var> (выход, разрядность соответствует атрибуту Биты данных)</dt>
<dd>Выдаёт значение, хранящееся в данный момент в компоненте.</dd>

<dt>Западный край, верхний контакт, отмечен треугольником (вход, разрядность равна 1)</dt>
<dd>Тактовый вход: в момент срабатывания этого входа (как указано в атрибуте Срабатывание) компонент переходит к следующему числу в последовательности.</dd>

<dt>Западный край, нижний контакт (вход, разрядность равна 1)</dt>
<dd>Включение: компонент включен, когда этот вход не подключен, или на нём 1; но когда на нём 0, тактовый вход игнорируется.</dd>

<dt>Южный край (вход, разрядность равна 1)</dt>
<dd>Сброс: когда на этом входе 1, псевдослучайная последовательность асинхронно сбрасывается на начальное семя. (Если семя - 0, то новое семя будет отличаться от начального семени, использованного перед этим.)</dd>

</dl>


<h2>Атрибуты</h2>

<p>Когда компонент выбран, или уже добавлен, комбинации от Alt-0 до Alt-9 меняют его атрибут <q>Биты данных</q>.</p>

<dl>

<dt>Биты данных</dt>
<dd>Разрядность значения, выдаваемого компонентом.</dd>

<dt>Семя</dt>
<dd>Начальное значение, используемое для псевдослучайной последовательности. Когда равно 0 (по умолчанию), стартовое значение основано на времени запуска псевдослучайной последовательности.</dd>

<dt>Срабатывание</dt>
<dd>Определяет, как обрабатывается тактовый вход.  Значение <q>Передний фронт</q> означает, что компонент должен обновляться в момент, когда значение на тактовом входе меняется с 0 на 1. Значение <q>Задний фронт</q> означает, что он должен обновляться, когда значение на тактовом входе меняется с 1 на 0.</dd>

<dt>Метка</dt>
<dd>Текст внутри метки, привязанной к компоненту.</dd>

<dt>Шрифт метки</dt>
<dd>Шрифт, которым отрисовывается метка.</dd>

</dl>

<h2>Поведение Инструмента Нажатие</h2>

<p>Нет.</p>

<h2>Поведение Инструмента Текст</h2>

<p>Позволяет редактировать привязанную к компоненту метку.</p>

<p><a href="../index.html">Назад к <em>Справке по библиотеке</em></a></p>

</body>
</html>
